package com.ruoyi.ldzlsb.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 设备报修单对象 sb_repair_order
 * 
 * @author ruoyi
 */
public class SbRepairApplication extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报修单ID */
    private Integer repairId;
    
    /** 兼容前端的ID字段 */
    @JsonProperty("id")
    private Integer id;
    
    /** 报修单编号 */
    @Excel(name = "报修单编号")
    private String repairCode;
    
    /** 设备ID */
    @Excel(name = "设备ID")
    private Integer equipmentId;
    
    /** 设备编码 */
    @Excel(name = "设备编码")
    private String equipmentCode;
    
    /** 设备名称 */
    @Excel(name = "设备名称")
    private String equipmentName;
    
    /** 故障类型 */
    @Excel(name = "故障类型")
    private String faultType;
    
    /** 故障等级 */
    @Excel(name = "故障等级")
    private String faultLevel;
    
    /** 故障描述 */
    @Excel(name = "故障描述")
    private String faultDescription;
    
    /** 故障图片 */
    @Excel(name = "故障图片")
    private String faultImages;
    
    /** 故障时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "故障时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date faultTime;
    
    /** 报修人员 */
    @Excel(name = "报修人员")
    private String reportPerson;
    
    /** 联系电话 */
    @Excel(name = "联系电话")
    private String reportPhone;
    
    /** 报修时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报修时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date reportTime;
    
    /** 优先级 */
    @Excel(name = "优先级", readConverterExp = "normal=一般,urgent=紧急,high=非常紧急")
    private String priority;
    
    /** 状态 */
    @Excel(name = "状态", readConverterExp = "pending=待处理,processing=处理中,completed=已完成,canceled=已取消")
    private String status;
    
    /** 处理人员 */
    @Excel(name = "处理人员")
    private String handlePerson;
    
    /** 处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date handleTime;
    
    /** 处理结果 */
    @Excel(name = "处理结果")
    private String handleResult;
    
    /** 关闭时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "关闭时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date closeTime;
    
    /** 维修费用 */
    @Excel(name = "维修费用")
    private BigDecimal cost;
    
    /** 是否删除 */
    private String isDelete;

    public Integer getRepairId() {
        return repairId;
    }

    public void setRepairId(Integer repairId) {
        this.repairId = repairId;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getRepairCode() {
        return repairCode;
    }

    public void setRepairCode(String repairCode) {
        this.repairCode = repairCode;
    }

    public Integer getEquipmentId() {
        return equipmentId;
    }

    public void setEquipmentId(Integer equipmentId) {
        this.equipmentId = equipmentId;
    }
    
    public String getEquipmentCode() {
        return equipmentCode;
    }

    public void setEquipmentCode(String equipmentCode) {
        this.equipmentCode = equipmentCode;
    }
    
    public String getEquipmentName() {
        return equipmentName;
    }

    public void setEquipmentName(String equipmentName) {
        this.equipmentName = equipmentName;
    }
    
    public String getFaultType() {
        return faultType;
    }

    public void setFaultType(String faultType) {
        this.faultType = faultType;
    }
    
    public String getFaultLevel() {
        return faultLevel;
    }

    public void setFaultLevel(String faultLevel) {
        this.faultLevel = faultLevel;
    }

    public String getFaultDescription() {
        return faultDescription;
    }

    public void setFaultDescription(String faultDescription) {
        this.faultDescription = faultDescription;
    }
    
    public String getFaultImages() {
        return faultImages;
    }

    public void setFaultImages(String faultImages) {
        this.faultImages = faultImages;
    }
    
    public Date getFaultTime() {
        return faultTime;
    }

    public void setFaultTime(Date faultTime) {
        this.faultTime = faultTime;
    }

    public String getReportPerson() {
        return reportPerson;
    }

    public void setReportPerson(String reportPerson) {
        this.reportPerson = reportPerson;
    }
    
    public String getReportPhone() {
        return reportPhone;
    }

    public void setReportPhone(String reportPhone) {
        this.reportPhone = reportPhone;
    }

    public Date getReportTime() {
        return reportTime;
    }

    public void setReportTime(Date reportTime) {
        this.reportTime = reportTime;
    }
    
    public String getPriority() {
        return priority;
    }

    public void setPriority(String priority) {
        this.priority = priority;
    }
    
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
    
    public String getHandlePerson() {
        return handlePerson;
    }

    public void setHandlePerson(String handlePerson) {
        this.handlePerson = handlePerson;
    }
    
    public Date getHandleTime() {
        return handleTime;
    }

    public void setHandleTime(Date handleTime) {
        this.handleTime = handleTime;
    }
    
    public String getHandleResult() {
        return handleResult;
    }

    public void setHandleResult(String handleResult) {
        this.handleResult = handleResult;
    }
    
    public Date getCloseTime() {
        return closeTime;
    }

    public void setCloseTime(Date closeTime) {
        this.closeTime = closeTime;
    }
    
    public BigDecimal getCost() {
        return cost;
    }

    public void setCost(BigDecimal cost) {
        this.cost = cost;
    }
    
    public String getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("repairId", getRepairId())
                .append("id", getId())
                .append("repairCode", getRepairCode())
                .append("equipmentId", getEquipmentId())
                .append("equipmentCode", getEquipmentCode())
                .append("equipmentName", getEquipmentName())
                .append("faultType", getFaultType())
                .append("faultLevel", getFaultLevel())
                .append("faultDescription", getFaultDescription())
                .append("faultImages", getFaultImages())
                .append("faultTime", getFaultTime())
                .append("reportPerson", getReportPerson())
                .append("reportPhone", getReportPhone())
                .append("reportTime", getReportTime())
                .append("priority", getPriority())
                .append("status", getStatus())
                .append("handlePerson", getHandlePerson())
                .append("handleTime", getHandleTime())
                .append("handleResult", getHandleResult())
                .append("closeTime", getCloseTime())
                .append("cost", getCost())
                .append("isDelete", getIsDelete())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
} 